.TH DVTM 1 dvtm\-VERSION
.nh
.SH NAME
dvtm \- dynamic virtual terminal manager
.SH SYNOPSIS
.B dvtm
.RB [ \-v ]
.RB [ \-M ]
.RB [ \-m
.IR modifier ]
.RB [ \-d
.IR delay ]
.RB [ \-h
.IR lines ]
.RB [ \-t
.IR title ]
.RB [ \-s
.IR status-fifo ]
.RB [ \-c
.IR cmd-fifo ]
.RI [ command \ ... "" ]
.SH DESCRIPTION
dvtm is a dynamic tiling window manager for the console.
As a console window manager it tries to make it easy to work with multiple
console based applications.
.SH OPTIONS
.TP
.B \-v
Print version information to standard output and exit.
.TP
.B \-M
Toggle default mouse grabbing upon startup. Use this to allow normal mouse operation
under X.
.TP
.BI \-m \ modifier
Set command modifier at runtime.
.TP
.BI \-d \ delay
Set the delay ncurses waits before deciding if a character that might be
part of an escape sequence is actually part of an escape sequence.
.TP
.BI \-h \ lines
Set the scrollback history buffer size at runtime.
.TP
.BI \-t \ title
Set a static terminal
.I title
and don't change it to the one of the currently focused window.
.TP
.BI \-s \ status-fifo
Open or create the named pipe
.I status-fifo
read its content and display it in the statusbar. See the
.I dvtm-status
script for an usage example.
.TP
.BI \-c \ cmd-fifo
Open or create the named pipe
.I cmd-fifo
and look for commands to execute which were defined in
.IR config.h .
.TP
.IR command \ ...
Execute
.IR command (s),
each in a separate window.
.SH USAGE
.SS Keyboard commands
.TP
.B Mod
Each keybinding begins with Mod which defaults to
.BR ^g ,
but can be changed in
.I config.h
or with the
.B \-m
command line option.
.TP
.B Mod\-c
Create a new shell window.
.TP
.B Mod\-C
Create a new shell window using the current working directory of the focused window.
.TP
.B Mod\-x\-x
Close focused window.
.TP
.B Mod\-l
Increases the master area width about 5% (all except grid and
fullscreen layout).
.TP
.B Mod\-h
Decreases the master area width about 5% (all except grid and
fullscreen layout).
.TP
.B Mod\-i
Increase number of windows displayed in the master area.
.TP
.B Mod\-d
Decrease number of windows displayed in the master area.
.TP
.B Mod\-j
Focus next window.
.TP
.B Mod\-k
Focus previous window.
.TP
.B Mod\-J
Focus next non minimized window.
.TP
.B Mod\-K
Focus previous non minimized window.
.TP
.BI Mod\- n
Focus the
.IR n \-th
window.
.TP
.B Mod\-Tab
Focus previously selected window.
.TP
.B Mod\-.
Toggle minimization of current window.
.TP
.B Mod\-m
Maximize current window (change to fullscreen layout).
.TP
.B Shift\-PageUp
.TQ
.B Mod\-PageUp
Scroll up.
.TP
.B Shift\-PageDown
.TQ
.B Mod\-PageDown
Scroll down.
.TP
.B Mod\-Space
Toggle between defined layouts (affects all windows).
.TP
.B Mod\-Enter
Zooms/cycles current window to/from master area.
.TP
.B Mod\-f
Change to vertical stack tiling layout.
.TP
.B Mod\-b
Change to bottom stack tiling layout.
.TP
.B Mod\-g
Change to grid layout.
.TP
.B Mod\-s
Show/hide the status bar.
.TP
.B Mod\-S
Toggle position of the status bar between top and bottom.
.TP
.B Mod\-r
.TQ
.B Mod\-^L
Redraw whole screen.
.TP
.B Mod\-a
Toggle keyboard multiplexing mode, if activated keypresses are sent to all
visible windows.
.TP
.B Mod\-M
Toggle dvtm mouse grabbing.
.TP
.B Mod\-e
Enter copy mode (see section below for further information).
.TP
.B Mod\-/
Enter copy mode and start searching forward (assumes a vi-like editor).
.TP
.B Mod\-p
Paste last copied text from copy mode at current cursor position.
.TP
.B Mod\-?
Show this manual page.
.TP
.B Mod\-Mod
Send the Mod key.
.TP
.B Mod-F[1..n]
.TQ
.B Mod-v-[1..n]
View all windows with nth tag.
.TP
.B Mod-0
View all windows with any tag.
.TP
.B Mod-v-Tab
Toggles to the previously selected tags.
.TP
.B Mod-V-[1..n]
Add/remove all windows with nth tag to/from the view.
.TP
.B Mod-t-[1..n]
Apply nth tag to focused window.
.TP
.B Mod-T-[1..n]
Add/remove nth tag to/from focused window.
.TP
.B Mod\-q\-q
Quit dvtm.
.SS Mouse commands
.TP
.B Copy and Paste
By default dvtm captures mouse events to provide the actions listed below.
Unfortunately this interferes with the standard X copy and paste mechanism.
To work around this you need to hold down
.B Shift
while selecting or pasting text.
Alternatively you can disable mouse support at compile time, start dvtm with the
.B -M
flag or toggle mouse support during runtime with
.BR Mod\-M .
.TP
.B Button1 click
Focus window.
.TP
.B Button1 double click
Focus window and toggle maximization.
.TP
.B Button2 click
Zoom/cycle current window to/from master area.
.TP
.B Button3 click
Toggle minimization of current window.
.SS Copy mode
Copy mode gives easy access to past output by piping it to an editor. What
ever the editor prints to stdout upon exiting will be stored in an internal
register and can be pasted into other clients (via
.B Mod\-p
)
.SH ENVIRONMENT VARIABLES
.TP
.B DVTM
Each process spawned by dvtm will have this variable set to the dvtm version
it is running under.
.TP
.B DVTM_WINDOW_ID
Each process also has access to its constant and unique window id.
.TP
.B DVTM_CMD_FIFO
If the -c command line argument was specified upon dvtm startup, this variable
will be set to the file name of the named pipe. Thus allowing the process
to send commands back to dvtm.
.TP
.B DVTM_TERM
By default dvtm uses its own terminfo file and therefore sets
.BR TERM=dvtm
within the client windows. This can be overridden by setting the
.BR DVTM_TERM
environment variable to a valid terminal name before launching dvtm.
.TP
.B DVTM_EDITOR
When entering the copymode dvtm pipes the whole scroll back buffer to
.BR DVTM_EDITOR
which is launched with
.BR \-
(indicating to read from stdin) as its only argument.
If
.BR DVTM_EDITOR
is not set
.BR EDITOR
is checked, if this is also not set the default value specified in
.BR config.h
is used instead.
.SH EXAMPLE
See the
.I dvtm-status
script as an example of how to display text in the
status bar.
.SH CUSTOMIZATION
dvtm is customized by creating a custom
.I config.h
and (re)compiling the source code.
This keeps it fast, secure and simple.
.SH AUTHOR
dvtm is written by Marc André Tanner <mat at brain-dump.org>
